
import redis
from redis.sentinel import Sentinel


def _connect_redis():
    # 定义哨兵节点列表 - 替换为你实际的哨兵地址和端口
    sentinel_hosts = [
        ('10.0.41.48', 36379),  # 第一个哨兵节点
        ('10.0.41.49', 36379),  # 第二个哨兵节点 (如果有)
        ('10.0.41.50', 36379),  # 第三个哨兵节点 (如果有)
    ]
    # 创建哨兵连接
    sentinel = Sentinel(
        sentinel_hosts,
        socket_timeout=5.0,  # 连接超时时间
        password="vHLBiHrhj11Ixe9JnIvu",  # 哨兵认证密码，如果有设置
    )
    try:
        # 获取主节点连接 - 'mymaster'是Redis主节点的名称，请替换为你实际配置的名称
        master = sentinel.master_for(
            'youxiang',  # 主服务器名称，通常在哨兵配置中定义
            socket_timeout=5.0,  # 连接超时
            password="vHLBiHrhj11Ixe9JnIvu",  # Redis主节点密码
            db=2,  # 数据库编号
        )
        return master
    except Exception as e:
        print(f"Redis哨兵模式连接失败: {e}")
        return None